package com.xiaoke.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaoke.domain.ResponseResult;
import com.xiaoke.domain.dto.AdminGetArticleListDTO;
import com.xiaoke.domain.dto.CreateArticleDTO;
import com.xiaoke.domain.dto.UpdateArticleDTO;
import com.xiaoke.domain.entity.Article;

/**
 * 文章表(Article)表后台服务接口
 *
 * @author xiaoke
 * @since 2023-03-24 14:15:53
 */
public interface AdminArticleService extends IService<Article> {
    /**
     * 获取文章列表
     * @param dto 请求参数DTO
     * @return 文章列表
     */
    ResponseResult getArticleList(AdminGetArticleListDTO dto);

    /**
     * 根据ID获取文章
     * @param id 文章ID
     * @return 文章
     */
    ResponseResult getArticle(Long id);
    /**
     * 新增文章
     * @param dto 请求参数DTO
     * @return 文章ID
     */
    ResponseResult createArticle(CreateArticleDTO dto);
    /**
     * 根据ID删除文章
     * @param id 文章ID
     */
    ResponseResult delArticle(Long id);

    /**
     * 根据ID修改文章
     * @param dto 验证DTO
     * @param id 文章ID
     */
    ResponseResult updateArticle(UpdateArticleDTO dto, String id);
}
